package com.probox.common.entity.service.customer;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.probox.common.entity.domain.customer.CustomerInvoice;

/**
 * 客户发票信息Service接口
 *
 * @author zsy
 * @date 2021-07-10
 */
public interface ICustomerInvoiceService extends IService<CustomerInvoice> {

    public List<CustomerInvoice> listInvoice(CustomerInvoice customerInvoice);

    /**
     * 查询客户发票信息
     *
     * @param invoiceId 客户发票信息ID
     * @return 客户发票信息
     */
    public CustomerInvoice selectCustomerInvoiceById(Integer invoiceId);


    /**
     * 查询客户发票信息列表
     *
     * @param customerInvoice 客户发票信息
     * @return 客户发票信息集合
     */
    public List<CustomerInvoice> queryList(CustomerInvoice customerInvoice);


    /**
     * 新增客户发票信息
     *
     * @param customerInvoice 客户发票信息
     * @return 结果
     */
    public boolean insertCustomerInvoice(CustomerInvoice customerInvoice);

    /**
     * 修改客户发票信息
     *
     * @param customerInvoice 客户发票信息
     * @return 结果
     */
    public boolean updateCustomerInvoice(CustomerInvoice customerInvoice);

    /**
     * 批量删除客户发票信息
     *
     * @param invoiceIds 需要删除的客户发票信息ID
     * @return 结果
     */
    public boolean deleteCustomerInvoiceByIds(Integer[] invoiceIds);

    /**
     * 获取当前客户的发票信息
     *
     * @return
     */
    public List<CustomerInvoice> getInvoiceInfo();

    /**
     * 获取当前客户的发票信息总条数
     *
     * @return
     */
    public Integer getInvoiceInfoCount();
}
